package cn.edu.cug.cs.gtl.docsrv.img.block;

import cn.edu.cug.cs.gtl.extractor.ImageExtractor;
import cn.edu.cug.cs.gtl.mybatis.mapper.img.ImgAll;
import org.geotools.coverage.grid.GridCoverage2D;
import org.locationtech.jts.geom.Envelope;

import java.awt.image.BufferedImage;
import java.util.List;

/**
 * 图像单元块，由图像文件构成，
 * ImgManager管理的基本单元就是ImageBlock
 *
 * ImgAll中包含两部分信息；
 * ImgItem部分为图像文档的元数据信息；
 * ImgFile部分未图像文档的内容数据信息；
 * 例如对于一个tif文件example.tif而言;
 * imgRawBytes中存放的是图像文件example.tif的压缩后的zip文件的字节信息
 * 需要用ImageExtractor解析成BufferedImage
 */
public class ImageBlock {
    Envelope envelope;
    ImgAll   imgAll;
    List<BufferedImage> imageList;


    public ImageBlock(ImgAll imgAll) {
        try{
            this.imgAll = imgAll;
            this.imageList = ImageExtractor.parseToImages(imgAll.getImgRawBytes());
        }
        catch (Exception e){
            e.printStackTrace();
        }

    }

    public Envelope getEnvelope() {
        return envelope;
    }

    public void setEnvelope(Envelope e) {
        this.envelope=e;
    }

    public ImgAll getImgAll() {
        return imgAll;
    }

    public List<BufferedImage> getImageList() {
        return imageList;
    }


}
